const _Page = require("../../__antmove/component/componentClass.js")("Page");
import * as echarts from "../../ec-canvas/echarts";

_Page({
    onShareAppMessage: function(res) {
        return {
            title: "ECharts 可以在微信小程序中使用啦！",
            path: "/pages/index/index",
            success: function() {},
            fail: function() {}
        };
    },
    data: {
        ecBar: {
            onInit: function(canvas, width, height) {
                const barChart = echarts.init(canvas, null, {
                    width: width,
                    height: height
                });
                canvas.setChart(barChart);
                barChart.setOption(getBarOption());
                return barChart;
            }
        },
        ecScatter: {
            onInit: function(canvas, width, height) {
                const scatterChart = echarts.init(canvas, null, {
                    width: width,
                    height: height
                });
                canvas.setChart(scatterChart);
                scatterChart.setOption(getScatterOption());
                return scatterChart;
            }
        }
    },

    onReady() {}
});

function getBarOption() {
    return {
        color: ["#37a2da", "#32c5e9", "#67e0e3"],
        tooltip: {
            trigger: "axis",
            axisPointer: {
                // 坐标轴指示器，坐标轴触发有效
                type: "shadow" // 默认为直线，可选为：'line' | 'shadow'
            }
        },
        legend: {
            data: ["热度", "正面", "负面"]
        },
        grid: {
            left: 20,
            right: 20,
            bottom: 15,
            top: 40,
            containLabel: true
        },
        xAxis: [
            {
                type: "value",
                axisLine: {
                    lineStyle: {
                        color: "#999"
                    }
                },
                axisLabel: {
                    color: "#666"
                }
            }
        ],
        yAxis: [
            {
                type: "category",
                axisTick: {
                    show: false
                },
                data: [
                    "汽车之家",
                    "今日头条",
                    "百度贴吧",
                    "一点资讯",
                    "微信",
                    "微博",
                    "知乎"
                ],
                axisLine: {
                    lineStyle: {
                        color: "#999"
                    }
                },
                axisLabel: {
                    color: "#666"
                }
            }
        ],
        series: [
            {
                name: "热度",
                type: "bar",
                label: {
                    normal: {
                        show: true,
                        position: "inside"
                    }
                },
                data: [300, 270, 340, 344, 300, 320, 310]
            },
            {
                name: "正面",
                type: "bar",
                stack: "总量",
                label: {
                    normal: {
                        show: true
                    }
                },
                data: [120, 102, 141, 174, 190, 250, 220]
            },
            {
                name: "负面",
                type: "bar",
                stack: "总量",
                label: {
                    normal: {
                        show: true,
                        position: "left"
                    }
                },
                data: [-20, -32, -21, -34, -90, -130, -110]
            }
        ]
    };
}

function getScatterOption() {
    var data = [];
    var data2 = [];

    for (var i = 0; i < 10; i++) {
        data.push([
            Math.round(Math.random() * 100),
            Math.round(Math.random() * 100),
            Math.round(Math.random() * 40)
        ]);
        data2.push([
            Math.round(Math.random() * 100),
            Math.round(Math.random() * 100),
            Math.round(Math.random() * 100)
        ]);
    }

    var axisCommon = {
        axisLabel: {
            textStyle: {
                color: "#C8C8C8"
            }
        },
        axisTick: {
            lineStyle: {
                color: "#fff"
            }
        },
        axisLine: {
            lineStyle: {
                color: "#C8C8C8"
            }
        },
        splitLine: {
            lineStyle: {
                color: "#C8C8C8",
                type: "solid"
            }
        }
    };
    return {
        color: ["#FF7070", "#60B6E3"],
        backgroundColor: "#eee",
        xAxis: axisCommon,
        yAxis: axisCommon,
        legend: {
            data: ["aaaa", "bbbb"]
        },
        visualMap: {
            show: false,
            max: 100,
            inRange: {
                symbolSize: [20, 70]
            }
        },
        series: [
            {
                type: "scatter",
                name: "aaaa",
                data: data
            },
            {
                name: "bbbb",
                type: "scatter",
                data: data2
            }
        ],
        animationDelay: function(idx) {
            return idx * 50;
        },
        animationEasing: "elasticOut"
    };
}
